Python: astモジュール
Pythonコードの抽象構文木を扱うモジュール
ast.walk(node)
nodeの子孫を再帰的にyieldする。
code:py
from collections import deque
while todo:
node = todo.popleft()
todo.extend(iter_child_nodes(node))
yield node
compileのflagsにast.PyCF_ONLY_ASTを指定するとコードオブジェクトの代わりにASTを返す。